/* 
 * Gneat (http://gneat.org)
 *
 * (C) Copyright 2011 and beyond - Claudio Stella, all rights reserved.
 *
 * This file is part of Gneat.
 *
 * Gneat is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License (LGPL)
 * as published by the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Gneat is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * and the GNU General Public License, for completeness, along with Gneat.  
 * If not, see <http://www.gnu.org/licenses/>.
 */
package org.neatshell.gneat.client.gin;

import org.neatshell.gneat.client.HtmlInjector;
import org.neatshell.gneat.client.view.live.html.ALiveView;
import org.neatshell.gneat.client.view.live.html.RootBodyLiveView;
import org.neatshell.gneat.client.view.live.html.RootHeadLiveView;
import org.neatshell.gneat.client.view.live.html.RootHtmlLiveView;
import org.neatshell.gneat.client.view.live.html.BodyLiveView;
import org.neatshell.gneat.client.view.live.html.DivLiveView;
import org.neatshell.gneat.client.view.live.html.FormLiveView;
import org.neatshell.gneat.client.view.live.html.HeadLiveView;
import org.neatshell.gneat.client.view.live.html.HtmlLiveView;
import org.neatshell.gneat.client.view.live.html.IFrameLiveView;
import org.neatshell.gneat.client.view.live.html.ImgLiveView;
import org.neatshell.gneat.client.view.live.html.SpanLiveView;
import org.neatshell.gneat.client.view.live.html.TableLiveView;
import org.neatshell.gneat.client.view.live.html.form.FieldSetLiveView;
import org.neatshell.gneat.client.view.live.html.form.LabelLiveView;
import org.neatshell.gneat.client.view.live.html.form.LegendLiveView;
import org.neatshell.gneat.client.view.live.html.form.SelectLiveView;
import org.neatshell.gneat.client.view.live.html.form.TextareaLiveView;
import org.neatshell.gneat.client.view.live.html.form.button.PushButtonLiveView;
import org.neatshell.gneat.client.view.live.html.form.button.ResetButtonLiveView;
import org.neatshell.gneat.client.view.live.html.form.button.SubmitButtonLiveView;
import org.neatshell.gneat.client.view.live.html.form.input.InputButtonLiveView;
import org.neatshell.gneat.client.view.live.html.form.input.InputCheckboxLiveView;
import org.neatshell.gneat.client.view.live.html.form.input.InputFileLiveView;
import org.neatshell.gneat.client.view.live.html.form.input.InputHiddenLiveView;
import org.neatshell.gneat.client.view.live.html.form.input.InputImageLiveView;
import org.neatshell.gneat.client.view.live.html.form.input.InputPasswordLiveView;
import org.neatshell.gneat.client.view.live.html.form.input.InputRadioLiveView;
import org.neatshell.gneat.client.view.live.html.form.input.InputResetLiveView;
import org.neatshell.gneat.client.view.live.html.form.input.InputSubmitLiveView;
import org.neatshell.gneat.client.view.live.html.form.input.InputTextLiveView;
import org.neatshell.gneat.client.view.live.html.form.select.OptgroupLiveView;
import org.neatshell.gneat.client.view.live.html.form.select.OptionLiveView;
import org.neatshell.gneat.client.view.live.html.list.LiLiveView;
import org.neatshell.gneat.client.view.live.html.list.UlLiveView;
import org.neatshell.gneat.client.view.live.html.table.CaptionLiveView;
import org.neatshell.gneat.client.view.live.html.table.ColLiveView;
import org.neatshell.gneat.client.view.live.html.table.ColgroupLiveView;
import org.neatshell.gneat.client.view.live.html.table.TbodyLiveView;
import org.neatshell.gneat.client.view.live.html.table.TdLiveView;
import org.neatshell.gneat.client.view.live.html.table.TfootLiveView;
import org.neatshell.gneat.client.view.live.html.table.ThLiveView;
import org.neatshell.gneat.client.view.live.html.table.TheadLiveView;
import org.neatshell.gneat.client.view.live.html.table.TrLiveView;

import com.google.gwt.inject.client.GinModules;
import com.google.gwt.inject.client.Ginjector;

@GinModules({HtmlLiveClientModule.class})
public interface HtmlLiveInjector extends HtmlInjector, Ginjector {	
	HtmlLiveView getHtmlView();
	HeadLiveView getHeadView();	
	BodyLiveView getBodyView();
	
	RootBodyLiveView getRootBodyView();
	RootHeadLiveView getRootHeadView();
	RootHtmlLiveView getRootHtmlView();
	
	//html4
	ALiveView getAView();
	DivLiveView getDivView();
	FormLiveView getFormView();
	IFrameLiveView getIFrameView();
	ImgLiveView getImgView();
	LiLiveView getLiView();
	SpanLiveView getSpanView();
	TableLiveView getTableView();
	UlLiveView getUlView();

	//html4.form
	FieldSetLiveView getFieldSetView();
	LabelLiveView getLabelView();
	LegendLiveView getLegendView();
	SelectLiveView getSelectView();
	TextareaLiveView getTextAreaView();

	//html4.form.button	
	PushButtonLiveView getPushButtonView();
	SubmitButtonLiveView getSubmitButtonView();
	ResetButtonLiveView getResetButtonView();

	//html4.form.input
	InputButtonLiveView getInputButtonView();
	InputCheckboxLiveView getInputCheckboxView();
	InputFileLiveView getInputFileView();
	InputHiddenLiveView getInputHiddenView();
	InputImageLiveView getInputImageView();
	InputPasswordLiveView getInputPasswordView();
	InputRadioLiveView getInputRadioView();
	InputResetLiveView getInputResetView();
	InputSubmitLiveView getInputSubmitView();
	InputTextLiveView getInputTextView();

	//html4.form.select
	OptgroupLiveView getOptGroupView();
	OptionLiveView getOptionView();
	
	//html4.table
	CaptionLiveView getCaptionView();
	ColLiveView getColView();
	ColgroupLiveView getColGroupView();
	TbodyLiveView getTBodyView();
	TfootLiveView getTFootView();
	TheadLiveView getTHeadView();
	TdLiveView getTdView();
	ThLiveView getThView();
	TrLiveView getTrView();
}